package ${package}.${moduleName}.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ${package}.${moduleName}.vo.${ClassName}VO;
import ${package}.${moduleName}.vo.${ClassName}Query;
import ${package}.${moduleName}.po.${ClassName}PO;
import com.qm.qfc.common.table.domain.QmPage;
import com.qm.qfc.common.table.service.ITableBaseService;

import java.util.List;

/**
 * ${tableComment}
 *
 * @author ${author} ${email}
 * @since ${version} ${date}
 */
public interface ${ClassName}Service extends ITableBaseService<${ClassName}PO> {

    /**
    * ${ClassName}列表
    *
    * @param ${className}Query 查询条件
    * @return ${ClassName}列表
    */
    List<${ClassName}VO> list${ClassName}(${ClassName}Query ${className}Query);

    /**
    * ${ClassName}分页列表
    *
    * @param ${className}Query 查询条件
    * @return ${ClassName}分页列表
    */
    Page<${ClassName}VO> listPage${ClassName}(${ClassName}Query ${className}Query);

    /**
    * ${ClassName}分页列表
    *
    * @param ${className}Query 查询条件
    * @return ${ClassName}分页列表
    */
    QmPage<${ClassName}VO> listQmPage${ClassName}(${ClassName}Query ${className}Query);

    /**
    * 批量新增${ClassName}
    *
    * @param ${className}VOList 新增内容
    */
    void saveBatch${ClassName}(List<${ClassName}VO> ${className}VOList);

    /**
    * 批量更新${ClassName}
    *
    * @param ${className}VOList 更新内容
    */
    void updateBatch${ClassName}(List<${ClassName}VO> ${className}VOList);


                        /**
    * 新增${ClassName}
    *
    * @param ${className}VO 新增内容
    */
    void save${ClassName}(${ClassName}VO ${className}VO);

    /**
    * 更新${ClassName}
    *
    * @param ${className}VO 更新内容
    */
    void update${ClassName}(${ClassName}VO ${className}VO);

    /**
    * 删除${ClassName}
    *
    * @param idList id列表
    */
    void delete${ClassName}(List<String> idList);

    /**
    * ${ClassName}详情
    *
    * @param id 主键
    * @return ${ClassName}详情
    */
    ${ClassName}VO detail(String id);

}